/**  
 * @Title: CardSvc.java
 * @Package com.atm.service
 * @author 姜向阳
 * @date 2018年3月14日
 * @version V1.0  
 */
package com.atm.service;

import java.util.Map;

import com.atm.entity.Card;

/**
 * @ClassName: CardSvc
 * @Description: 银行卡共通服务接口
 * @author 姜向阳
 * @date 2018年3月14日
 * @since JDK 1.8
 */
public interface CardSvc {

	/**
	 * 
	 * @Title: createCard
	 * @Description: 创建银行卡
	 * @param card 银行卡对象
	 * @return  Map<String,Object> 
	 */
	public Map<String,Object> createCard(Card card) ;
	
	/**
	 * 
	 * @Title: validateCard
	 * @Description: 使用卡号和密码验证银行卡
	 * @param cardID 银行卡卡号
	 * @param password 银行卡密码
	 * @return Map<String,Object>  
	 */
	public Map<String,Object> validateCard(String cardID,String password);
	
	/**
	 * 
	 * @Title: saveMoney
	 * @Description:  银行卡存款
	 * @param cardID 银行卡卡号
	 * @param money 金额
	 * @return  Map<String,Object> 
	 */
	public Map<String,Object> saveMoney(String cardID,String money);
	
	/**
	 * 
	 * @Title: getMoney
	 * @Description:  银行卡取款
	 * @param cardID 银行卡卡号
	 * @param money 金额
	 * @return  Map<String,Object> 
	 */
	public Map<String,Object> getMoney(String cardID,String money);
	
	/**
	 * 
	 * @Title: readData
	 * @Description: 银行卡数据读取(数据查询方法)
	 * @param cardID 银行卡卡号
	 * @return Map<String,Object>  
	 */
	public Map<String,Object> readData(String cardID);
	
	/**
	 * 
	 * @Title: transferAccount
	 * @Description:  账户间转账方法
	 * @param cardID  银行卡号
	 * @param transferAccountID 转账卡号
	 * @param money  转账金额
	 * @return Map<String,Object>
	 */
	public Map<String,Object> transferAccount(String cardID,String transferAccountID,String money);
	
	/**
	 * 
	 * @Title: updatePassword
	 * @Description: 修改银行卡密码
	 * @param cardID 银行卡密码
	 * @param password 银行卡密码
	 * @return map<String,Object>
	 */
	public Map<String,Object> updatePassword(String cardID,String password);
	
}
